﻿<!DOCTYPE html>
<html>
  <head>
    <title>Stretchy/Largeop with default fonts</title>
    <meta charset="utf-8"/>
    <link rel="help" href="https://www.w3.org/TR/mathml-core/#layout-of-operators">
    <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1092053">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <script type="text/javascript">
      function contentOf(aElement) {
        return document.getElementById(aElement).textContent;
      }
      promise_test(() => {
        return new Promise(resolve => {
          window.addEventListener("load", resolve);
        }).then(() => {
          const numTests = 10; // zero indexed
          const epsilon = 2;
          for (let i = 0; i < numTests; i++) {
            const operatorName = contentOf(`mo${i}`);
            const box = document.getElementById(`mo${i}`).getBoundingClientRect();
            const ref = document.getElementById(`moRef${i}`).getBoundingClientRect();
            assert_approx_equals(box.width, ref.width, epsilon, `width of largeop '${operatorName}'`);
            assert_approx_equals(box.height, ref.height, epsilon, `height of largeop '${operatorName}'`);
          }
        });
      }, "Test that non-stretchy largeops do not stretch.");
    </script>
  </head>
  <body>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo0">&bigodot;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo1">&bigoplus;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo2">&#x2a03;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo3">&#x2a05;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo4">&#x2a07;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo5">&#x2a08;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo6">&#x2a09;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo7">&#x2a0a;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo8">&#x2afc;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mrow>
          <mspace height="3em" />
          <mo id="mo9">&#x2aff;</mo>
        </mrow>
      </math>
    </p>
    <p>
      <math displaystyle="true">
        <mo id="moRef0">&bigodot;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef1">&bigoplus;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef2">&#x2a03;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef3">&#x2a05;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef4">&#x2a07;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef5">&#x2a08;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef6">&#x2a09;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef7">&#x2a0a;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef8">&#x2afc;</mo>
      </math>
      <math displaystyle="true">
        <mo id="moRef9">&#x2aff;</mo>
      </math>
    </p>
  </body>
</html>
